package com.tcm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tcm.entity.SocialProject;
import com.tcm.entity.dto.SocialProjectUpdateDto;
import com.tcm.entity.dto.param.SocialProjectPageParam;
import com.tcm.entity.resp.PageR;
import com.tcm.exception.EntityAlreadyExistException;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 社会化项目业务接口
 * @author Guqier
 * @version 1.0
 * @date 2023/7/23 19:34
 */
public interface SocialProjectService extends IService<SocialProject> {
    boolean addSocialProject(SocialProjectUpdateDto param, Long currUserId) throws EntityAlreadyExistException;

    @Transactional
    boolean removeSocialProject(List<Long> ids, Long currUserId);

    @Transactional
    boolean modifySocialProject(SocialProjectUpdateDto param, Long currUserId);

    PageR<SocialProjectUpdateDto> getSocialProjectListByPage(SocialProjectPageParam param);

    List<SocialProject> getSocialProjectListWithoutLogicDelete();
}
